import sys

def solve():
    """
    处理单个测试数据
    """
    try:
        # 读取 n 和 k
        n, k = map(int, sys.stdin.readline().split())
        # 读取数组 a
        a = list(map(int, sys.stdin.readline().split()))
        # 初始化计数器
        less_than_k = 0
        greater_than_k = 0
        # O(n) 遍历数组，统计小于k和大于k的元素个数
        for x in a:
            if x < k:
                less_than_k += 1
            elif x > k:
                greater_than_k += 1

        # 计算总的二元组数 C(n, 2)
        total_pairs = n * (n - 1) // 2

        # 计算不满足条件的二元组数：两个元素都小于k
        invalid_less_pairs = less_than_k * (less_than_k - 1) // 2

        # 计算不满足条件的二元组数：两个元素都大于k
        invalid_greater_pairs = greater_than_k * (greater_than_k - 1) // 2

        # 满足条件的二元组数 = 总数 - 不满足条件的总数
        valid_pairs = total_pairs - invalid_less_pairs - invalid_greater_pairs

        # 输出结果
        print(valid_pairs)
    except (IOError, ValueError):
        # 处理可能的输入错误或文件末尾的空行
        return
def main():
    """
    主函数，处理多组测试数据
    """
    try:
        # 读取测试数据组数 T
        t_str = sys.stdin.readline()
        if not t_str:
            return
        t = int(t_str)
        for _ in range(t):
            solve()
    except (IOError, ValueError):
        return

if __name__ == "__main__":
    main()

